{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 300 entries, 0 to 299\n",
      "Data columns (total 15 columns):\n",
      "ip_1       300 non-null object\n",
      "com        300 non-null object\n",
      "time       300 non-null object\n",
      "num_1      300 non-null int64\n",
      "get        300 non-null object\n",
      "404        300 non-null int64\n",
      "num_2      300 non-null int64\n",
      "num_3      300 non-null int64\n",
      "url        300 non-null object\n",
      "guid       300 non-null object\n",
      "browser    300 non-null object\n",
      "ip_2       300 non-null object\n",
      "num_4      300 non-null int64\n",
      "miss       300 non-null object\n",
      "ip_3       300 non-null object\n",
      "dtypes: int64(5), object(10)\n",
      "memory usage: 35.2+ KB\n",
      "None\n",
      "['ip_1', 'com', 'time', 'num_1', 'get', '404', 'num_2', 'num_3', 'url', 'guid', 'browser', 'ip_2', 'num_4', 'miss', 'ip_3']\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "\n",
    "# 将csv文件转化成DataFrame格式\n",
    "thh_log = pd.read_csv('G:\\\\PyCharm\\\\PythonProjects\\\\pro01\\\\test\\\\thh_log.csv',names = ['ip_1','com','time','num_1','get',\n",
    "                                             '404','num_2', 'num_3','url', 'guid',\n",
    "                                             'browser','ip_2','num_4','miss','ip_3'])\n",
    "#print(thh_log.head())\n",
    "#print(thh_log.tail())\n",
    "print(thh_log.info())\n",
    "#print(thh_log.columns)\n",
    "\n",
    "print(thh_log.columns.values.tolist())\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ip_1   - - - - >>    (108,)\n",
      "com   - - - - >>    (1,)\n",
      "time   - - - - >>    (67,)\n",
      "num_1   - - - - >>    (84,)\n",
      "get   - - - - >>    (10,)\n",
      "404   - - - - >>    (3,)\n",
      "num_2   - - - - >>    (14,)\n",
      "num_3   - - - - >>    (3,)\n",
      "url   - - - - >>    (5,)\n",
      "guid   - - - - >>    (9,)\n",
      "browser   - - - - >>    (25,)\n",
      "ip_2   - - - - >>    (112,)\n",
      "num_4   - - - - >>    (254,)\n",
      "miss   - - - - >>    (1,)\n",
      "ip_3   - - - - >>    (32,)\n"
     ]
    }
   ],
   "source": [
    "#column_list = ['ip_1', 'com', 'time', 'num_1', 'get', '404', 'num_2', 'num_3', 'url', 'guid', 'browser', 'ip_2', 'num_4', 'miss', 'ip_3']\n",
    "for item in thh_log.columns.values.tolist():\n",
    "    #print(item)\n",
    "    print(\"{}   - - - - >>    {}\".format (item , thh_log[item].value_counts().shape))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "108\n",
      "{'222.199.191.50', '58.218.185.110', '163.177.8.105', '111.6.225.63', '36.104.40.199', '112.45.121.78', '123.139.42.195', '117.136.87.33', '117.136.8.230', '202.121.181.104', '157.255.172.20', '202.98.17.207', '180.76.22.115', '180.160.145.51', '112.96.179.170', '163.177.8.95', '123.138.42.50', '58.215.118.78', '119.188.176.103', '112.84.34.115', '157.255.172.22', '111.1.52.50', '111.63.51.103', '218.89.243.64', '111.62.0.105', '119.188.176.115', '219.216.176.154', '183.216.160.78', '36.104.142.50', '111.177.3.105', '112.84.34.116', '183.216.160.50', '112.45.121.50', '223.111.127.78', '183.230.27.8', '39.129.5.43', '36.22.155.247', '61.238.139.186', '120.199.69.103', '58.215.98.50', '117.136.66.218', '112.84.34.103', '36.27.216.68', '223.111.127.50', '111.6.225.50', '58.194.168.69', '113.200.85.153', '183.216.160.75', '117.136.0.210', '222.34.4.4', '222.199.191.55', '180.163.198.103', '119.188.176.116', '42.185.150.80', '42.81.93.115', '223.87.229.217', '111.1.52.75', '180.76.22.186', '111.20.242.50', '58.218.185.160', '111.6.225.55', '112.84.34.105', '222.56.79.50', '221.195.34.105', '111.177.3.115', '117.61.137.101', '117.136.45.101', '58.215.118.105', '180.163.198.105', '116.95.27.55', '223.111.127.75', '123.184.220.50', '112.224.75.103', '36.27.216.63', '111.117.112.177', '125.41.236.58', '219.147.233.50', '111.177.3.103', '183.230.68.105', '115.154.23.13', '139.215.221.50', '219.228.146.115', '119.188.176.105', '27.45.53.139', '180.76.22.232', '117.181.20.231', '221.180.244.50', '36.104.142.63', '222.199.191.63', '111.63.51.105', '221.176.187.237', '111.62.0.103', '59.45.22.139', '112.45.121.75', '39.174.128.178', '58.215.98.78', '219.224.52.129', '111.1.52.78', '220.195.66.7', '117.152.221.42', '125.64.99.103', '58.215.118.115', '221.0.95.244', '120.199.69.105', '61.151.178.180', '42.81.93.105', '58.215.98.75', '219.147.233.63'}\n"
     ]
    }
   ],
   "source": [
    "ip_list = []\n",
    "for item in thh_log['ip_1']:\n",
    "    ip_list.append(item)\n",
    "#final_list=list(set(ip_list))\n",
    "print(len(set(ip_list)))    \n",
    "print(set(ip_list))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'111.63.51.103': 12,\n",
       " '42.81.93.105': 10,\n",
       " '36.104.40.199': 9,\n",
       " '180.76.22.232': 9,\n",
       " '120.199.69.103': 9,\n",
       " '36.104.142.50': 8,\n",
       " '111.63.51.105': 8,\n",
       " '112.84.34.105': 8,\n",
       " '163.177.8.105': 8,\n",
       " '222.199.191.50': 7,\n",
       " '180.76.22.115': 7,\n",
       " '222.199.191.63': 7,\n",
       " '112.96.179.170': 6,\n",
       " '119.188.176.105': 6,\n",
       " '120.199.69.105': 6,\n",
       " '117.136.45.101': 5,\n",
       " '219.216.176.154': 5,\n",
       " '58.215.118.105': 5,\n",
       " '39.174.128.178': 5,\n",
       " '58.215.98.50': 5,\n",
       " '117.61.137.101': 4,\n",
       " '223.111.127.75': 4,\n",
       " '221.0.95.244': 4,\n",
       " '111.177.3.105': 3,\n",
       " '219.228.146.115': 3,\n",
       " '36.22.155.247': 3,\n",
       " '117.136.0.210': 3,\n",
       " '223.87.229.217': 3,\n",
       " '117.136.66.218': 3,\n",
       " '111.6.225.63': 3,\n",
       " '112.84.34.103': 3,\n",
       " '117.152.221.42': 3,\n",
       " '111.117.112.177': 3,\n",
       " '111.177.3.115': 3,\n",
       " '125.41.236.58': 3,\n",
       " '112.224.75.103': 3,\n",
       " '36.27.216.68': 2,\n",
       " '180.163.198.103': 2,\n",
       " '58.215.98.75': 2,\n",
       " '183.216.160.78': 2,\n",
       " '42.185.150.80': 2,\n",
       " '117.136.8.230': 2,\n",
       " '119.188.176.115': 2,\n",
       " '180.160.145.51': 2,\n",
       " '111.1.52.50': 2,\n",
       " '42.81.93.115': 2,\n",
       " '116.95.27.55': 2,\n",
       " '112.84.34.115': 2,\n",
       " '111.1.52.75': 2,\n",
       " '180.76.22.186': 2,\n",
       " '218.89.243.64': 2,\n",
       " '111.6.225.55': 2,\n",
       " '61.238.139.186': 2,\n",
       " '221.180.244.50': 2,\n",
       " '111.6.225.50': 2,\n",
       " '117.181.20.231': 2,\n",
       " '125.64.99.103': 2,\n",
       " '123.138.42.50': 2,\n",
       " '115.154.23.13': 2,\n",
       " '58.215.118.115': 2,\n",
       " '111.177.3.103': 2,\n",
       " '58.194.168.69': 2,\n",
       " '183.216.160.75': 2,\n",
       " '223.111.127.78': 2,\n",
       " '219.224.52.129': 2,\n",
       " '220.195.66.7': 2,\n",
       " '222.34.4.4': 2,\n",
       " '223.111.127.50': 2,\n",
       " '117.136.87.33': 1,\n",
       " '202.121.181.104': 1,\n",
       " '111.1.52.78': 1,\n",
       " '58.218.185.160': 1,\n",
       " '157.255.172.20': 1,\n",
       " '163.177.8.95': 1,\n",
       " '112.45.121.50': 1,\n",
       " '123.139.42.195': 1,\n",
       " '112.45.121.78': 1,\n",
       " '111.20.242.50': 1,\n",
       " '113.200.85.153': 1,\n",
       " '61.151.178.180': 1,\n",
       " '119.188.176.116': 1,\n",
       " '58.218.185.110': 1,\n",
       " '222.56.79.50': 1,\n",
       " '202.98.17.207': 1,\n",
       " '112.45.121.75': 1,\n",
       " '222.199.191.55': 1,\n",
       " '36.104.142.63': 1,\n",
       " '27.45.53.139': 1,\n",
       " '112.84.34.116': 1,\n",
       " '219.147.233.50': 1,\n",
       " '183.230.27.8': 1,\n",
       " '183.230.68.105': 1,\n",
       " '39.129.5.43': 1,\n",
       " '139.215.221.50': 1,\n",
       " '111.62.0.105': 1,\n",
       " '123.184.220.50': 1,\n",
       " '180.163.198.105': 1,\n",
       " '58.215.98.78': 1,\n",
       " '157.255.172.22': 1,\n",
       " '119.188.176.103': 1,\n",
       " '36.27.216.63': 1,\n",
       " '58.215.118.78': 1,\n",
       " '111.62.0.103': 1,\n",
       " '59.45.22.139': 1,\n",
       " '221.195.34.105': 1,\n",
       " '221.176.187.237': 1,\n",
       " '183.216.160.50': 1,\n",
       " '219.147.233.63': 1}"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ip_num = dict(thh_log['ip_1'].value_counts())\n",
    "# type(ip_num)  dict\n",
    "# len(ip_num)  108\n",
    "ip_num\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "300"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sum = 0\n",
    "for v in ip_num.values():\n",
    "    sum += v\n",
    "sum"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'GET /CUMCM2018.exe HTTP/1.1': 155,\n",
       " 'GET /favicon.ico HTTP/1.1': 87,\n",
       " 'GET /2018CUMCM-AB.rar HTTP/1.1': 40,\n",
       " 'HEAD /CUMCM2018.exe HTTP/1.1': 3,\n",
       " 'GET /2018CUMCM-AB.rar?nsukey=XqhvAC1ZP4N4dzXAQtNXrGGkm85IaFnZuiZVoG9IkVVeHWj2sexRM3UVgE483UjUNZhuMWhhCx6UMTYc5H0e%2BFZ9znyY%2F3o93ZFJfmt63cv4Cc0g91jGZqb%2Bfbsrv8BTZmBoZoglcITMbU2pcVbEVOE3pjI538UlPnxBfFIqgoLJy0axRyX4%2BMB5nGKq3lsymL3qU8D9JZg6QobD3s3LoA%3D%3D HTTP/1.1': 3,\n",
       " 'GET /2018CUMCM-CD.rar HTTP/1.1': 3,\n",
       " 'GET /2018CUMCM-AB.rar?nsukey=XqhvAC1ZP4N4dzXAQtNXrGGkm85IaFnZuiZVoG9IkVVeHWj2sexRM3UVgE483UjUNZhuMWhhCx6UMTYc5H0e2BFZ9znyY2F3o93ZFJfmt63cv4Cc0g91jGZqb2Bfbsrv8BTZmBoZoglcITMbU2pcVbEVOE3pjI538UlPnxBfFIqgoLJy0axRyX42BMB5nGKq3lsymL3qU8D9JZg6QobD3s3LoA3D3D HTTP/1.1': 3,\n",
       " 'GET / HTTP/1.1': 2,\n",
       " 'GET /CUMCM2018.exe?nsukey=2BEmC20U5GaAE2FmRz6ipFr7f6BCb5R2FT07QotSTkLND0trzhUZKRCala93NI0a9mOtoX61gDU2NtlOX6pbmJy6jWtFhP1y0QbhfvM4ZvXw4upn8UO1GQOI7l8ZmkPniC2F9E8tXaEYb9umh40UViA4D0H635hVx509r2BMnp1RvG63z2TJBrbCGW72nPSBH0wX9R1uVbk56UAJwShgNFWbJgw3D3D HTTP/1.1': 2,\n",
       " 'GET /CUMCM2018.exe?nsukey=%2BEmC20U5GaAE%2FmRz6ipFr7f6BCb5R%2FT07QotSTkLND0trzhUZKRCala93NI0a9mOtoX61gDU2NtlOX6pbmJy6jWtFhP1y0QbhfvM4ZvXw4upn8UO1GQOI7l8ZmkPniC%2F9E8tXaEYb9umh40UViA4D0H635hVx509r%2BMnp1RvG63z2TJBrbCGW72nPSBH0wX9R1uVbk56UAJwShgNFWbJgw%3D%3D HTTP/1.1': 2}"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "get_method = dict(thh_log['get'].value_counts())\n",
    "get_method"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "25\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36': 51,\n",
       " 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134': 36,\n",
       " 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36': 27,\n",
       " 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36': 26,\n",
       " 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299': 21,\n",
       " 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36': 12,\n",
       " 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 UBrowser/6.2.4094.1 Safari/537.36': 12,\n",
       " 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36': 11,\n",
       " 'Mozilla/5.0 (Linux; Android 8.1; BLA-AL00 Build/HUAWEIBLA-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/6.2 TBS/044207 Mobile Safari/537.36 MicroMessenger/6.7.2.1340(0x2607023A) NetType/4G Language/zh_CN': 11,\n",
       " 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36': 9,\n",
       " 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36': 9,\n",
       " 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:62.0) Gecko/20100101 Firefox/62.0': 9,\n",
       " 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.6726.400 QQBrowser/10.2.2265.400': 9,\n",
       " 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0': 8,\n",
       " 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.90 Safari/537.36 2345Explorer/9.4.2.17629': 6,\n",
       " 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0': 6,\n",
       " 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36': 6,\n",
       " 'Mozilla/5.0 (Linux; Android 5.1; OPPO A37m Build/LMY47I; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/63.0.3239.83 Mobile Safari/537.36 T7/10.12 baiduboxapp/10.12.0.12 (Baidu; P1 5.1)': 6,\n",
       " 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36': 6,\n",
       " 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_2 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) CriOS/30.0.1599.12 Mobile/11A501 Safari/8536.25 MicroMessenger/6.1.0': 5,\n",
       " 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 MicroMessenger/6.5.2.501 NetType/WIFI WindowsWechat QBCore/3.43.901.400 QQBrowser/9.0.2524.400': 4,\n",
       " 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E216 QQ/7.7.8.421 V1_IPH_SQ_7.7.8_1_APP_A Pixel/750 Core/UIWebView Device/Apple(iPhone 6s) NetType/WIFI QBWebViewType/1': 3,\n",
       " 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063': 3,\n",
       " 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9b4) Gecko/2008030317 Firefox/3.0b4': 2,\n",
       " 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.5514.400 QQBrowser/10.1.1628.400': 2}"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "browser_type = dict(thh_log['browser'].value_counts())\n",
    "print(len(browser_type))\n",
    "#print(browser_type)\n",
    "browser_type"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'http://cumcm.cnki.net/cumcm//studentHome/studentHome': 201,\n",
       " 'http://cnki.cdn.bcebos.com/CUMCM2018.exe': 42,\n",
       " '-': 39,\n",
       " 'http://cnki.cdn.bcebos.com/2018CUMCM-AB.rar': 15,\n",
       " 'http://cnki.cdn.bcebos.com/2018CUMCM-AB.rar?nsukey=XqhvAC1ZP4N4dzXAQtNXrGGkm85IaFnZuiZVoG9IkVVeHWj2sexRM3UVgE483UjUNZhuMWhhCx6UMTYc5H0e%2BFZ9znyY%2F3o93ZFJfmt63cv4Cc0g91jGZqb%2Bfbsrv8BTZmBoZoglcITMbU2pcVbEVOE3pjI538UlPnxBfFIqgoLJy0axRyX4%2BMB5nGKq3lsymL3qU8D9JZg6QobD3s3LoA%3D%3D': 3}"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "url_type = dict(thh_log['url'].value_counts())\n",
    "print(len(url_type))\n",
    "#print(url_type)\n",
    "url_type"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "9\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'-': 271,\n",
       " '__guid=141700960.4315215346076913000.1536750087490.9688; monitor_count=1': 6,\n",
       " 'lang=zh': 5,\n",
       " '__guid=141700960.2174463798317252900.1536748157769.7764; monitor_count=6': 3,\n",
       " '__guid=141700960.4122941879506484000.1536749642949.692; monitor_count=3': 3,\n",
       " '__guid=141700960.2294804920719535600.1536750059369.6423; monitor_count=1': 3,\n",
       " '__guid=141700960.887040413421089500.1536750165449.4753; monitor_count=1': 3,\n",
       " '__guid=141700960.3445662407389419500.1536749887223.2832; monitor_count=6': 3,\n",
       " '__guid=141700960.1971321614214163200.1536750259720.569; monitor_count=1': 3}"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "guid_type = dict(thh_log['guid'].value_counts())\n",
    "print(len(guid_type))\n",
    "#print(browser_type)\n",
    "guid_type"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 9 artists>"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "plt.style.use('seaborn-white')\n",
    "\n",
    "guid_type={'-': 271,\n",
    " '__guid=141700960.4315215346076913000.1536750087490.9688; monitor_count=1': 6,\n",
    " 'lang=zh': 5,\n",
    " '__guid=141700960.2174463798317252900.1536748157769.7764; monitor_count=6': 3,\n",
    " '__guid=141700960.4122941879506484000.1536749642949.692; monitor_count=3': 3,\n",
    " '__guid=141700960.887040413421089500.1536750165449.4753; monitor_count=1': 3,\n",
    " '__guid=141700960.1971321614214163200.1536750259720.569; monitor_count=1': 3,\n",
    " '__guid=141700960.2294804920719535600.1536750059369.6423; monitor_count=1': 3,\n",
    " '__guid=141700960.3445662407389419500.1536749887223.2832; monitor_count=6': 3}\n",
    "\n",
    "guid_type_alias={'-': 271,\n",
    " 'B': 6,\n",
    " 'lang=zh': 5,\n",
    " 'C': 3,\n",
    " 'D': 3,\n",
    " 'E': 3,\n",
    " 'F': 3,\n",
    " 'G': 3,\n",
    " 'H': 3}\n",
    "\n",
    "\n",
    "x = []\n",
    "y =[]\n",
    "for k,v in guid_type_alias.items():\n",
    "    x.append(k)\n",
    "    y.append(v)\n",
    "# print(x)\n",
    "# print(y)\n",
    "\n",
    "plt.bar(x , y, width=0.3 , color='r')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "67\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'[12/Sep/2018:19:01:28 +0800]': 15,\n",
       " '[12/Sep/2018:19:02:32 +0800]': 9,\n",
       " '[12/Sep/2018:19:00:47 +0800]': 9,\n",
       " '[12/Sep/2018:19:00:55 +0800]': 9,\n",
       " '[12/Sep/2018:19:01:27 +0800]': 7,\n",
       " '[12/Sep/2018:19:02:52 +0800]': 6,\n",
       " '[12/Sep/2018:19:01:25 +0800]': 6,\n",
       " '[12/Sep/2018:19:01:54 +0800]': 6,\n",
       " '[12/Sep/2018:19:01:38 +0800]': 6,\n",
       " '[12/Sep/2018:19:02:46 +0800]': 6,\n",
       " '[12/Sep/2018:19:02:58 +0800]': 6,\n",
       " '[12/Sep/2018:19:00:02 +0800]': 6,\n",
       " '[12/Sep/2018:19:02:49 +0800]': 6,\n",
       " '[12/Sep/2018:19:00:57 +0800]': 6,\n",
       " '[12/Sep/2018:19:02:12 +0800]': 6,\n",
       " '[12/Sep/2018:19:01:24 +0800]': 6,\n",
       " '[12/Sep/2018:19:01:19 +0800]': 6,\n",
       " '[12/Sep/2018:19:02:15 +0800]': 6,\n",
       " '[12/Sep/2018:19:02:26 +0800]': 6,\n",
       " '[12/Sep/2018:19:02:48 +0800]': 6,\n",
       " '[12/Sep/2018:19:02:43 +0800]': 6,\n",
       " '[12/Sep/2018:19:01:44 +0800]': 6,\n",
       " '[12/Sep/2018:19:00:45 +0800]': 6,\n",
       " '[12/Sep/2018:19:01:05 +0800]': 6,\n",
       " '[12/Sep/2018:19:00:12 +0800]': 6,\n",
       " '[12/Sep/2018:19:02:24 +0800]': 5,\n",
       " '[12/Sep/2018:19:02:01 +0800]': 5,\n",
       " '[12/Sep/2018:19:02:09 +0800]': 5,\n",
       " '[12/Sep/2018:19:02:08 +0800]': 5,\n",
       " '[12/Sep/2018:19:02:31 +0800]': 5,\n",
       " '[12/Sep/2018:19:01:11 +0800]': 4,\n",
       " '[12/Sep/2018:19:00:22 +0800]': 3,\n",
       " '[12/Sep/2018:19:00:20 +0800]': 3,\n",
       " '[12/Sep/2018:19:01:04 +0800]': 3,\n",
       " '[12/Sep/2018:19:01:17 +0800]': 3,\n",
       " '[12/Sep/2018:19:00:51 +0800]': 3,\n",
       " '[12/Sep/2018:19:01:46 +0800]': 3,\n",
       " '[12/Sep/2018:19:00:56 +0800]': 3,\n",
       " '[12/Sep/2018:19:02:39 +0800]': 3,\n",
       " '[12/Sep/2018:19:02:03 +0800]': 3,\n",
       " '[12/Sep/2018:19:00:46 +0800]': 3,\n",
       " '[12/Sep/2018:19:02:50 +0800]': 3,\n",
       " '[12/Sep/2018:19:02:30 +0800]': 3,\n",
       " '[12/Sep/2018:19:01:42 +0800]': 3,\n",
       " '[12/Sep/2018:19:01:47 +0800]': 3,\n",
       " '[12/Sep/2018:19:01:48 +0800]': 3,\n",
       " '[12/Sep/2018:19:00:35 +0800]': 3,\n",
       " '[12/Sep/2018:19:02:14 +0800]': 3,\n",
       " '[12/Sep/2018:19:00:58 +0800]': 3,\n",
       " '[12/Sep/2018:19:02:33 +0800]': 3,\n",
       " '[12/Sep/2018:19:00:21 +0800]': 3,\n",
       " '[12/Sep/2018:19:02:13 +0800]': 3,\n",
       " '[12/Sep/2018:19:00:29 +0800]': 3,\n",
       " '[12/Sep/2018:19:00:01 +0800]': 3,\n",
       " '[12/Sep/2018:19:02:17 +0800]': 3,\n",
       " '[12/Sep/2018:19:02:34 +0800]': 3,\n",
       " '[12/Sep/2018:19:00:08 +0800]': 3,\n",
       " '[12/Sep/2018:19:00:38 +0800]': 3,\n",
       " '[12/Sep/2018:19:01:33 +0800]': 3,\n",
       " '[12/Sep/2018:19:02:10 +0800]': 3,\n",
       " '[12/Sep/2018:19:02:57 +0800]': 3,\n",
       " '[12/Sep/2018:19:01:32 +0800]': 3,\n",
       " '[12/Sep/2018:19:01:01 +0800]': 2,\n",
       " '[12/Sep/2018:19:01:10 +0800]': 2,\n",
       " '[12/Sep/2018:19:02:41 +0800]': 2,\n",
       " '[12/Sep/2018:19:01:58 +0800]': 2,\n",
       " '[12/Sep/2018:19:02:02 +0800]': 1}"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "time_duration = dict(thh_log['time'].value_counts())\n",
    "print(len(time_duration))\n",
    "#print(browser_type)\n",
    "time_duration"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "67\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'19:01:28': 15,\n",
       " '19:02:32': 9,\n",
       " '19:00:47': 9,\n",
       " '19:00:55': 9,\n",
       " '19:01:27': 7,\n",
       " '19:02:52': 6,\n",
       " '19:01:25': 6,\n",
       " '19:01:54': 6,\n",
       " '19:01:38': 6,\n",
       " '19:02:46': 6,\n",
       " '19:02:58': 6,\n",
       " '19:00:02': 6,\n",
       " '19:02:49': 6,\n",
       " '19:00:57': 6,\n",
       " '19:02:12': 6,\n",
       " '19:01:24': 6,\n",
       " '19:01:19': 6,\n",
       " '19:02:15': 6,\n",
       " '19:02:26': 6,\n",
       " '19:02:48': 6,\n",
       " '19:02:43': 6,\n",
       " '19:01:44': 6,\n",
       " '19:00:45': 6,\n",
       " '19:01:05': 6,\n",
       " '19:00:12': 6,\n",
       " '19:02:24': 5,\n",
       " '19:02:01': 5,\n",
       " '19:02:09': 5,\n",
       " '19:02:08': 5,\n",
       " '19:02:31': 5,\n",
       " '19:01:11': 4,\n",
       " '19:00:22': 3,\n",
       " '19:00:20': 3,\n",
       " '19:01:04': 3,\n",
       " '19:01:17': 3,\n",
       " '19:00:51': 3,\n",
       " '19:01:46': 3,\n",
       " '19:00:56': 3,\n",
       " '19:02:39': 3,\n",
       " '19:02:03': 3,\n",
       " '19:00:46': 3,\n",
       " '19:02:50': 3,\n",
       " '19:02:30': 3,\n",
       " '19:01:42': 3,\n",
       " '19:01:47': 3,\n",
       " '19:01:48': 3,\n",
       " '19:00:35': 3,\n",
       " '19:02:14': 3,\n",
       " '19:00:58': 3,\n",
       " '19:02:33': 3,\n",
       " '19:00:21': 3,\n",
       " '19:02:13': 3,\n",
       " '19:00:29': 3,\n",
       " '19:00:01': 3,\n",
       " '19:02:17': 3,\n",
       " '19:02:34': 3,\n",
       " '19:00:08': 3,\n",
       " '19:00:38': 3,\n",
       " '19:01:33': 3,\n",
       " '19:02:10': 3,\n",
       " '19:02:57': 3,\n",
       " '19:01:32': 3,\n",
       " '19:01:01': 2,\n",
       " '19:01:10': 2,\n",
       " '19:02:41': 2,\n",
       " '19:01:58': 2,\n",
       " '19:02:02': 1}"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import re\n",
    "time_dict = {}\n",
    "for k,v in time_duration.items():    \n",
    "    pattern = '.*((\\d\\d)\\:(\\d\\d)\\:(\\d\\d))'\n",
    "    match_success =re.match(pattern, k, re.I|re.M)\n",
    "    if match_success:\n",
    "        time_dict.update({match_success.group(1):v})\n",
    "        #time_list.append(match_success.group(1))\n",
    "        #print(match_success.group(1))\n",
    "print(len(time_dict))\n",
    "time_dict        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 67 artists>"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.dates as mdate\n",
    "\n",
    "plt.style.use('seaborn-white')\n",
    "\n",
    "# fig1 = plt.figure(figsize=(15,5))\n",
    "# ax1 = fig1.add_subplot(1,1,1)\n",
    "# ax1.xaxis.set_major_formatter(mdate.DateFormatter('%H;%M;%S'))#设置时间标签显示格式\n",
    "# plt.xticks(rotation=90)   不对\n",
    "\n",
    "\n",
    "x = []\n",
    "y = []\n",
    "for k,v in time_dict.items():\n",
    "    x.append(k)\n",
    "    y.append(v)\n",
    "# n = 10\n",
    "\n",
    "# ax = locks.plot(kind='bar', y='SUM')\n",
    "# ticks = ax.xaxis.get_ticklocs()\n",
    "# ticklabels = [l.get_text() for l in ax.xaxis.get_ticklabels()]\n",
    "# ax.xaxis.set_ticks(ticks[::n])\n",
    "# ax.xaxis.set_ticklabels(ticklabels[::n])\n",
    "\n",
    "# ax.figure.show()\n",
    "# print(x)\n",
    "# print(y)\n",
    "\n",
    "plt.bar(x , y, width=0.3 , color='r')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
